import java.util.Scanner;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 沈明月
 * Date: 2022-11-02
 * Time: 10:39
 */
public class TestEight {
//判定素数（给定一个数字，判定一个数字是否是素数）
//因数只有1和它本身

//法一：
    public static void main1(String[] args) {
        //输入一个数字
        Scanner scan = new Scanner(System.in);
        System.out.println("请输入一个数字：");
        int n = scan.nextInt();
        //判断该数字是否是素数
        boolean isFlag=false;
        if(n!=1){
            for (int i = 2; i < n; i++) {
                if(n%i==0){
                    isFlag=true;
                    break;
                }
            }
            if(!isFlag){
                System.out.println("该数字是素数");
            }else{
                System.out.println("该数字不是素数");
            }
        }
    }

//法二：
    public static void main2(String[] args) {
        Scanner scanner =new Scanner(System.in);
        int n= scanner.nextInt();
        int i=2;
        for (; i < n; i++) {
            if(n%i==0){
                break;
            }
        }
        if(i==n){
            System.out.println(n+"是素数");
        }
    }
//法三：和n/2去比较
    public static void main3(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int i=2;
        boolean isFlg = false;
        for (; i < n/2; i++) {
            if(n%i == 0){
                isFlg = true;
                break;
            }
        }
        if(isFlg == false){
            System.out.println(n+"是素数");
        }
    }
    public static void main4(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int i=2;
        for (; i <= n/2; i++) {
            //注意这里是：<=
            //如果只是<的话
            //4=1*4=2*2
            //那么它明显不会满足此情况，同样它也无法满足下面的情况，
            //然而，因为只有是素数才会打印，不打印默认不是素数，虽然凑巧感觉好像对了，本质上依旧是错的

            //再者，以7为例
            //7显然是一个素数
            //但是7/2=3；同时上面如果是i<n/2的话
            //意味着i只能加到2就得跳出循环
            //跳出循环以后，下面的n%i==7%2!=0
            //意味着不会输出7是素数，从输出结果看，默认7不是素数，显然错误
            //综上，要加上=
            if(n%i == 0){
                break;
            }
        }
        if(i > n/2){
            System.out.println(n+"是素数");
        }
    }
//法四：和n的根号去比较（19：02）
    public static void main5(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int i=2;
        for (; i <= Math.sqrt(n); i++) {
            if(n%i == 0){
                break;
            }
        }
        if(i > Math.sqrt(n)){
            System.out.println(n+"是素数");
        }
    }

//打印1~100之间的素数
    public static void main6(String[] args) {
        for (int i = 2; i <= 100 ; i++) {
            int j = 2;
            for ( ; j < i; j++) {
                if(i%j == 0){
                    break;
                }
            }
            if(j == i){
                System.out.print(i+" ");
            }
        }
    }
}
